EN FR
EN FR


Section: Software

Kermeta

Participants : Didier Vojtisek [correspondant] , Olivier Barais, Cédric Bouhours, Xavier Dolques, Jacques Falcou, François Fouquet, Marie Gouyette, Jean-Marc Jézéquel, Hajanirina Johary Rambelontsalama.

Nowadays, object-oriented meta-languages such as MOF (meta-object Facility) are increasingly used to specify domain-specific languages in the model-driven engineering community. However, these meta-languages focus on structural specifications and have no built-in support for specifications of operational semantics. Integrated with the industrial standard Ecore and aligned with the OMG standard EMOF 2.0, the Kermeta language consists in a extension to these meta languages to support behavior definition. The language adds precise action specifications with static type checking and genericity at the meta level. Based on object-orientation and aspect orientation concepts, the Kermeta language adds model specific concepts. It is used in several use cases:

  • to give a precise semantic of the behavior of a metamodel which then can be simulated.

  • to act as a model transformation language.

  • to act as a constraint language.

The development environment built for the Kermeta language provides an integrated workbench based on Eclipse. It offers services such as : model execution, text editor ( with syntax higlighting, code autocompletion), additional views and various import/export transformations.

Thanks to Kermeta it is possible to build various frameworks dedicated to domain specific metamodels. Those frameworks are organised into MDKs (Model Development Kits). For example, Triskell proposes MDKs to work with the metamodels such as Java5, UML2, RDL (requirements), Ecore, Traceability,...

In 2011, Kermeta tooling has been refactored into a version 2.0.x in order to ease the integration of various MOF related languages in the tool chain. This new version also focuses on a fully compiled mode that allows to deploy kermeta programs in production environments.

See also the web page http://www.kermeta.org .

  • APP: IDDN.FR.001.420009.000.S.P.2005.000.10400

  • Version: 2.0.1

  • Programming language: Java, Scala, Kermeta